#include <iostream>
#include<vector>
#include<queue>
#include<list>
#include<algorithm>
using namespace std;
// int main()
// {
//     int N;
//     cin >> N;
//     int tatal =0;
//     while(N >= 50)
//     {
//         tatal +=7;
//         N-=50;
//     }
//     while(N>=30)
//     {
//         tatal+=4;
//         N-=30;
//     }
//     while(N>0)
//     {
//         tatal++;
//         N-=10;
//     }
//     cout <<tatal;
//     return 0;
// }
// int main()
// {
//     int n,k;
//     cin >> n >> k;
//     vector<int> v(n);
//     int f = 0;
//     for(int i =0;i<n;i++)
//         cin >> v[i];
//     int i = 0;
//     while (i<n)
//     {
//         int all=0;
//         while(all < k && i < n)
//             all +=v[i++];
//         f++;
//     }
//     cout << f;

//     return 0;
// }
// list<int>::iterator Find(list<int>& l,int sum)//引用不能忘！！！！
// {
//     list<int>::iterator begin = l.begin();
//     while(begin != l.end())
//     {
//         if(*begin == sum)
//             return begin;
//         begin++;
//     }
// }
// int main()
// {
//     int num;
//     cin >> num;
//     list<int> l;
//     for (int i = 1; i <= num; i++)
//     {
//         l.push_back(i);
//     }
//     for (auto e : l)
//         cout << e << " ";
    
//     int n = 0;
//     cin >> n;
//     for(int i = 0;i<n;i++)
//     {
//         int s,p;
//         cin >> s >> p;
//         list<int>::iterator pos = Find(l,s);
//         list<int>::iterator pos2 = pos;
//         int count = abs(p);
//         while(count > 0)
//         {
//             if(p > 0)
//                 pos++; 
//             else 
//                 pos--;

//             count--;
//         }
//         if(p > 0) pos++;
//         l.insert(pos,s);
//         l.erase(pos2);
//     }
//     for (auto e : l)
//         cout << e << " ";
//     return 0;
// }
int main()
{
    int n;
    cin >> n;
    vector<int> v(n);
    for(int i = 0;i<n;i++)
    {
        cin >> v[i];
    }
    sort(v.begin(),v.end());
    int mid = n/2;
    int i,j;
    i=j=mid;
    while(i<n && v[mid] == v[i])
        i++;
    while(j>=0 && v[mid] == v[j])
        j--;
    if(j+1 == n-i)
        cout << v[mid];
    else 
        cout << -1;

    return 0;
}

